[INFO] fetching crate atsamd-usb-host 0.2.1...
[INFO] fixing atsamd-usb-host-0.2.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate atsamd-usb-host 0.2.1 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate atsamd-usb-host 0.2.1
[INFO] finished tweaking crates.io crate atsamd-usb-host 0.2.1
[INFO] tweaked toml for crates.io crate atsamd-usb-host 0.2.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate atsamd-usb-host 0.2.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 34 packages to latest compatible versions
[INFO] [stderr]       Adding atsamd-hal v0.7.4 (available: v0.23.3)
[INFO] [stderr]       Adding embedded-hal v0.2.7 (available: v1.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759
[INFO] running `Command { std: "docker" "start" "4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   atsamd-hal v0.7.4 removed features: atsamd21e18a, samd21e18a
[INFO] [stderr] 
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling cortex-m v0.6.7
[INFO] [stderr]    Compiling atsamd21e18a v0.6.0
[INFO] [stderr]     Checking starb v0.3.1
[INFO] [stderr]     Checking usb-host v0.1.3
[INFO] [stderr]     Checking generic-array v0.13.3
[INFO] [stderr]     Checking generic-array v0.12.4
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]     Checking as-slice v0.1.5
[INFO] [stderr]     Checking aligned v0.3.5
[INFO] [stderr]    Compiling paste-impl v0.1.18
[INFO] [stderr]     Checking paste v0.1.18
[INFO] [stderr]     Checking atsamd-hal v0.7.4
[INFO] [stderr]     Checking atsamd-usb-host v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.63s
[INFO] [stderr] crater-edition-check: atsamd-usb-host v0.2.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking atsamd-usb-host v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let (eventr, mut eventw) = unsafe { EVENTS.split() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  37 - static mut EVENTS: Events = Events::new();
[INFO] [stdout]  37 + static EVENTS: Events = Events::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     LAST_TASK_STATE,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipe.rs:647:62
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs {
[INFO] [stdout]     |                               -- the lifetime is named here  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs<'a> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/addr.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:94:19
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:196:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW {
[INFO] [stdout]     |                 ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:200:30
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW {
[INFO] [stdout]     |                              ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:204:23
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW {
[INFO] [stdout]    |                      ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW<'_> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:202:20
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:206:19
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:214:20
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:218:19
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bank1` is never read
[INFO] [stdout]    --> src/pipe.rs:722:9
[INFO] [stdout]     |
[INFO] [stdout] 720 | pub(crate) struct PipeDesc {
[INFO] [stdout]     |                   -------- field in this struct
[INFO] [stdout] 721 |     pub bank0: BankDesc,
[INFO] [stdout] 722 |     pub bank1: BankDesc,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let (eventr, mut eventw) = unsafe { EVENTS.split() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  37 - static mut EVENTS: Events = Events::new();
[INFO] [stdout]  37 + static EVENTS: Events = Events::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     LAST_TASK_STATE,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipe.rs:647:62
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs {
[INFO] [stdout]     |                               -- the lifetime is named here  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs<'a> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/addr.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:94:19
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:196:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW {
[INFO] [stdout]     |                 ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:200:30
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW {
[INFO] [stdout]     |                              ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:204:23
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW {
[INFO] [stdout]    |                      ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW<'_> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:202:20
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:206:19
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:214:20
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:218:19
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.10s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   atsamd-hal v0.7.4 removed features: atsamd21e18a, samd21e18a
[INFO] [stderr] 
[INFO] [stderr]     Checking atsamd-usb-host v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/pipe/addr.rs (1 fix)
[INFO] [stderr]        Fixed src/lib.rs (2 fixes)
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let (eventr, mut eventw) = unsafe { EVENTS.split() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  37 - static mut EVENTS: Events = Events::new();
[INFO] [stdout]  37 + static EVENTS: Events = Events::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     LAST_TASK_STATE,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.58s
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let (eventr, mut eventw) = unsafe { EVENTS.split() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  37 - static mut EVENTS: Events = Events::new();
[INFO] [stdout]  37 + static EVENTS: Events = Events::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     LAST_TASK_STATE,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: atsamd-usb-host v0.2.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking atsamd-usb-host v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `bank1` is never read
[INFO] [stdout]    --> src/pipe.rs:722:9
[INFO] [stdout]     |
[INFO] [stdout] 720 | pub(crate) struct PipeDesc {
[INFO] [stdout]     |                   -------- field in this struct
[INFO] [stdout] 721 |     pub bank0: BankDesc,
[INFO] [stdout] 722 |     pub bank1: BankDesc,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let (eventr, mut eventw) = unsafe { EVENTS.split() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  37 - static mut EVENTS: Events = Events::new();
[INFO] [stdout]  37 + static EVENTS: Events = Events::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     LAST_TASK_STATE,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipe.rs:647:62
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs {
[INFO] [stdout]     |                               -- the lifetime is named here  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs<'a> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/addr.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:94:19
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:196:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW {
[INFO] [stdout]     |                 ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:200:30
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW {
[INFO] [stdout]     |                              ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:204:23
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW {
[INFO] [stdout]    |                      ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW<'_> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:202:20
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:206:19
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:214:20
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:218:19
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `atsamd-usb-host` (lib) due to 2 previous errors; 20 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let (eventr, mut eventw) = unsafe { EVENTS.split() };
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout]  37 - static mut EVENTS: Events = Events::new();
[INFO] [stdout]  37 + static EVENTS: Events = Events::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     LAST_TASK_STATE,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/pipe.rs:647:62
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs {
[INFO] [stdout]     |                               -- the lifetime is named here  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 647 |     pub(crate) fn from(host: &'a mut usb::HOST, i: usize) -> PipeRegs<'a> {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/addr.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn addr(&mut self) -> AddrW<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn permax(&mut self) -> PErMaxW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn pepnum(&mut self) -> PEpNumW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ctrl_pipe.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn pdaddr(&mut self) -> PDAddrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn variable(&mut self) -> VariableW<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/ext_reg.rs:94:19
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn subpid(&mut self) -> SubPIDW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn auto_zlp(&mut self) -> AutoZLPW<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:196:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW {
[INFO] [stdout]     |                 ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn size(&mut self) -> _SizeW<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:200:30
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW {
[INFO] [stdout]     |                              ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn multi_packet_size(&mut self) -> MultiPacketSizeW<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/pck_size.rs:204:23
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn byte_count(&mut self) -> ByteCountW<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW {
[INFO] [stdout]    |                      ^^^^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn errorflow(&mut self) -> ErrorFlowW<'_> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pipe/status_bk.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW {
[INFO] [stdout]    |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn crcerr(&mut self) -> CRCErrW<'_> {
[INFO] [stdout]    |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn ercnt(&mut self) -> ErCntW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:202:20
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn crc16er(&mut self) -> CRC16ErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:206:19
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn touter(&mut self) -> TOutErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW {
[INFO] [stdout]     |                  ^^^^^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn pider(&mut self) -> PIDErW<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:214:20
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW {
[INFO] [stdout]     |                    ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn dapider(&mut self) -> DaPIDErW<'_> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pipe/status_pipe.rs:218:19
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW {
[INFO] [stdout]     |                   ^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn dtgler(&mut self) -> DTglErW<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `atsamd-usb-host` (lib test) due to 2 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759", kill_on_drop: false }`
[INFO] [stdout] 4fe0c30fdfc84c32f519d43788ce6c74f8af3e7b722f01fecfe31cee0e6af759
